{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>ASSIST0910</th>\n",
       "      <th>ASSIST2017</th>\n",
       "      <th>JunYi</th>\n",
       "      <th>MathEC</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>model</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>DINA</th>\n",
       "      <td>0.8626</td>\n",
       "      <td>0.8122</td>\n",
       "      <td>0.8244</td>\n",
       "      <td>0.8093</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>NCDM</th>\n",
       "      <td>0.8714</td>\n",
       "      <td>0.8205</td>\n",
       "      <td>0.8331</td>\n",
       "      <td>0.8170</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CDGK</th>\n",
       "      <td>0.8583</td>\n",
       "      <td>0.7915</td>\n",
       "      <td>0.8113</td>\n",
       "      <td>0.8708</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CICDM-A</th>\n",
       "      <td>0.9007</td>\n",
       "      <td>0.8702</td>\n",
       "      <td>0.9155</td>\n",
       "      <td>0.8903</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CICDM+</th>\n",
       "      <td>0.9001</td>\n",
       "      <td>0.8698</td>\n",
       "      <td>0.9158</td>\n",
       "      <td>0.8907</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         ASSIST0910  ASSIST2017   JunYi  MathEC\n",
       "model                                          \n",
       "DINA         0.8626      0.8122  0.8244  0.8093\n",
       "NCDM         0.8714      0.8205  0.8331  0.8170\n",
       "CDGK         0.8583      0.7915  0.8113  0.8708\n",
       "CICDM-A      0.9007      0.8702  0.9155  0.8903\n",
       "CICDM+       0.9001      0.8698  0.9158  0.8907"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data=pd.DataFrame([\n",
    "    ['DINA',   0.8626,0.8122,0.8244,0.8093],\n",
    "    ['NCDM',   0.8714,0.8205,0.8331,0.8170],\n",
    "    ['CDGK',   0.8583,0.7915,0.8113,0.8708],\n",
    "    ['CICDM-A',0.9007,0.8702,0.9155,0.8903],\n",
    "    ['CICDM+', 0.9001,0.8698,0.9158,0.8907]\n",
    "],columns=['model','ASSIST0910','ASSIST2017','JunYi','MathEC']).set_index(['model'])\n",
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "a09=list(data['ASSIST0910'])\n",
    "a17=list(data['ASSIST2017'])\n",
    "junyi=list(data['JunYi'])\n",
    "math=list(data['MathEC'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAf4AAAFtCAYAAADmnQjIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAA+O0lEQVR4nO3de5xT1b3//9eHwapoq0IVQewR0FLloFXwLjq1amsFi4gg3r/1LlprtV5/Vqutd8/xShXEVhSs4gVswVvpg3rDIorCqYotYgGhFS9F1CICn98fe8+YyWRmkkySnZX9fj4e85jJ3is7O/PJzsraWXnH3B0RERFJhw5J74CIiIhUjjp+ERGRFFHHLyIikiLq+EVERFJEHb+IiEiKqOMXERFJEXX8IiIiKdIxiRs1s47A1cBaYEvgJnd/NUe7LsC1wFKgO/And5+Y1eb3wKD44rtAL3dfXb69FxERCVciHT9wI7DU3a81s87ALDPb1d0/ymo3ARjn7pPiFwuvmNkKd58KYGa7AP8H3By3X6pOX0REpGVW6eQ+M9scWAb0dvd/xMumAc+6+9UZ7XoCbwPbufvf42UXAT9w94Hx5YeBscB0d/+iondEREQkQEm8x79//HtRxrI3gO9mtdsk/r11xrJ/Av0BzKwXMBB4HFhmZiNLv6siIiK1JYlT/VsDH3rTUw0fAz2y2r1ONOK/0MyeA9YBuwGrANz9bWALM9sKuBiYaGZ17n5f9g326tXL11tvvcbLgwYNYvDgwSW8SyIiItWjvr7eWlqXRMfvwH+ylnUA1jRp5L7azL4H/BJ4GHgO2JPoBUFmu3eBUWa2iugFQLOOv3PnzsyePbtkd0Bye+ONN/jiC73jIumw3nrrsf322ye9GyIFS6LjXwJslrVss3h5E/F7+0cCmFl34FfAqS1s9wbg9NLtphTqiy++YMcdd0x6N0QqYu7cuUnvgkhRkniPfzqwfnyKvsG2wFNtXO9KYCYwvoX164C/tH/3REREalfFO353fx+4BzgUGj+r/y1gnJntYWbnZ1/HzE4EtgeGufuaeNl+ZnZg/Pd6wOXAqIrcCRERkUAl9Tn+c4DrzexSokl9Q9x9hZntDhwBXGdmdcAPiTr8VUB91mf0+8Tt3gJeBW509/mVvBMiIiKhSaTjd/dPgTNyLL+ZOIzH3dcCj7SyjTHAmHLto4iISC1SVr+IiEiKJHWqX1Kk216H0X3vw5osW/r8owAFLV/2wqNl3Mt0O6X7Vm03ysOYpe+WZDsiUj4a8UvNmjlzJgcccABmxiGHHMKZZ57Jcccdx8CBA7nqqqv4/PPPAZg2bRo77bQTdXV1jB07lueee46zzz4bM+Oyyy5rss1PP/2UBx54gM0224xx48bxwQcfNLvdX/7yl8yaNasi9zF0c+bMYfjw4ZgZZ599Nm+99RYAixcv5sc//jGnn346F154IRdccAFXXHEFgwZF38f19NNPs9NOO7HhhhsyZMgQzjrrLEaOHMl+++3H6NGjWbduXUH7cd999/Hggw+W/P6JVCON+KVm7bnnnowYMYIZM2YwderUxuULFy5k8ODBPPzwwzz77LP84Ac/YObMmaxYsYKTTz4ZgH322YelS5dy5ZVX0q9fP4YNGwbARhttxIgRI3j00Uc58cQTm93mF198wa9//Wveeustxo9v6ZOn1adUI/5C7bzzzpx66qlMmjSJc845h2222YbZs2czdOhQJk6cyD777NPY9uWXX+bGG28E4MADD2TQoEE88MADTJ48ubHNnDlzGDx4MNOmTeOxxx6jQ4f8xjY333wzG264IcOHDy/p/ROpRhrxS03LjGpu0LNnT6ZMmcK8efO44oorAKirq6Njx6avgzfaaCOGDRvG8ccfz6uvvtpk3QYbbJDz9iZNmkTv3r158MEHWb58eWnuRI2rq6sDoGPHjqxevZojjjiC448/vkmnD9C/f/8mZ2By1XbnnXdm4sSJTJ06lTFj8pv7+8ILL7Dhhhvy7LPP8tprr7XjnoiEQR2/pFLv3r056KCDuPvuu1ttd88997DDDjvwwx/+kPfee6/N7U6aNIlHH32U9dZbL++OR7706KOP8s477zSeYcl22mmntbmNfffdl759+7ZZ2wZjxoxh0qRJ9OzZk9tuu62g/RUJkTp+Sa2+ffuyfPlyPvrooxbbbLjhhkyZMoW1a9cydOhQVq9e3WLbF198kf79+9OlSxeOP/547rjjDtasWdNie2nupZdeAqBXr14513fq1Cmv7fTt25f589uO9ViyZAkbbLABXbt25YwzzmDChAmtPh5EaoHe45fUMou+vGrt2rWttuvevTuPPfYYAwcO5PTTT2fcuHE52915551cd911AJx55pncfvvtTJ48ucXRazUp1Wz8Ae28/sqVK4Hcp/ELYWZt1hXg9ttvZ9SoKPDzxBNP5Oc//znjxo3jvPPOa9fti1QzdfySWq+//jrdunXj61//epttd9llF+69916GDRtGv379mq1/9913mTt3buPkM4BvfOMb3HrrrUF0/NWi4dvuFixYQN++fYvezuuvv95Yp4MOOohnnnmmcd2qVasA+M9//sOTTz5J5jeEb7vttowePZqf/vSneU8MFAmNOn5JpUWLFvHkk09y0UUX5X2doUOH8qtf/YrzzjuPXXbZpcm60aNHM27cOL797W83LhswYABHHHEEc+fOrfpvLUxqVn+2I488kksuuYR7772Xa665ptn6xYsX06FDB7baquX9ffHFF5k3bx6/+c1vALjrrrv47LPPmrW77777+PnPf86QIUMalw0bNoxdd92VP/zhDxx66KHtv0MiVUgvaaWm5XqPfdmyZRx22GEMHDiQiy++uLFd9qnhtWvXNrv+RRddxFFHHdVkot/KlSuZN29ek04fYMiQIXTt2rXJWQBpruF/vHbtWrbcckvGjh3LTTfd1OzjkG+//TZTpkxp7PRz1Xb+/PmMHDmS4447jhNOOAGIzrx861vfavwBWLduHZMmTWrWuQ8YMID+/furZlLb3L3mf/r37+9Sfq+99lrSu9DEM8884/X19W5mfvzxx/uFF17oo0aN8oMPPthHjx7tq1evdnf3adOmeb9+/bxjx45+2223+T//+U9/6KGHvEePHv7LX/7S//GPfzTZ7qpVq/zoo492d/eFCxf6oYce6v369fM///nPTdpNnz7du3bt6h06dPCrr77aV65cWZk7HpCXX37Zhw8f7oCfeeaZ/sYbb7i7+7PPPusHH3yw9+/f34888kg/++yz/a677mq83rRp0/y///u/vVOnTn7SSSf5RRdd5KeccoofcsghPnHixFZv87333vMTTzzRu3fv7n/4wx+arJs1a5Zvv/32Dvh5553n//rXv1rcTrU93kWytNgnmme8v1WrBgwY4LNnz056N2peCKe0RUpFj3epctbSCp3qFxERSRF1/CIiIimijl9ERCRF1PGLiIikiDp+ERGRFFHHLyIikiJK7pOyW3RF04jbmQs/4YwHFzN6+Nbs2XPjNq/f0P6DT/WFN+Vy5lG9Oevo3nm1vXXCAoCc7fsc8lRJ90tESk8jfqm4PXtuzOjhW3PGg4uZufCTvNsX4uOPP+aOO+6ge/fu9OvXr/HLXxq88MILHHjggRx99NHMnTsXiOJgf/zjH3P66adz4YUXcsEFF3DFFVcwaNAgAJ5++ml22mknNtxwQ4YMGcJZZ53FyJEj2W+//Rg9ejTr1q0D4LPPPmPcuHF06tSJbbfdtsUvi3nggQcwM4466qjGfUibOXPmMHz4cMyMs88+m7feegsoXS2yTZw4Ma+vVxapZRrxSyIyO/98Rv75nBnI9LWvfY3TTjuNrbfemkGDBnHMMccwefLkxm/k22uvvRgxYgQ9e/Zkxx13ZPbs2QwdOpSJEyeyzz77NG7n5ZdfboxvPfDAAxk0aBAPPPAAkydPbmwzZ84cBg8ezLRp03jsscfo1KkTJ554Ir/73e+YPn06Dz30ECNGjGi2j7fffjsQfStcWoNgdt55Z0499VQmTZrEOeecwzbbbFPSWmR/0c5bb73FXnvtVZH7JlKt1PFLYgrt/Iux0UYbMXToUCZPnswll1zCVVdd1biuY8eO1NXVsXr1ao444giOP/74Jh0NQP/+/bnssssaL+f6utidd96ZiRMnst9++zFmzBhOO+00ALbaaisOOeQQrr322mYd//Tp09lpp5149tlnqaurK+VdLsrt979dkra3HVL4bTfc/44dO5atFiLyJZ3ql0QVetq/GIMHD+aaa67h6quv5v7772+2/tFHH+Wdd95p8etz8+k89t13X/r27cvdd9/dZPn555/PnDlzePLJJ5ssv/POO9Up5VDOWohIRCN+SVwlRv4/+9nPeOONNzjxxBPZbrvtGDBgQOO6l156CYBevXrlvG6nTp3yuo2+ffvyxBNPNFk2cOBA9thjD6655hq+973vAVHG+zbbbMMmm2xSzF0pi1Eje+U9ua9Boe3zUepaLF++vMlXL7/yyiu8+eabbLxx9Bjr3bt3QV/NLFIL1PFL2c1c+Ele7+GXu/O/4447WLBgAUOGDCHzS5saJv7lOnVcCDPLOZHv/PPPZ+jQocyaNYvddtuNm266iSuvvJI0fEFWoUpdi80335y77rqrcfnll1/OCSecwDbbbNOu7YuETKf6pewKnb1frtP+X/nKV3jkkUfYYIMNGDJkCJ9//jkA22+/PQALFixo1/Zff/11+vXr12z5D3/4Q/r06cM111zDokWLqKura/xOeWmq3LUQEXX8UgHFfHSvXJ1/ly5d+P3vf8+bb77J5ZdfDsCRRx5Jp06duPfee3NeZ/Hixbz77rutbvfFF19k3rx5nHrqqc3WdejQgfPOO48pU6Zw5pln8pOf/KS9d6NmlbsWIqKOXyqg2M/tl6LzX7t2LWvWNA3+2X777XnwwQdZvnw5AFtuuSVjx47lpptuYvz48U3avv3220yZMqVxhJ69LYD58+czcuRIjjvuOE444YTG5atWrWr8+9hjj6Vr166sW7eOvn37NtlWrm2mScP9X7t2bdlq0eCoo46ia9eupb8TIgHRe/xSEcV8br+97/nPmTOHsWPHsnz5cvr06cPAgQMb1x100EHcfPPNjZePOuoovvGNb3DVVVdxyy23sN1229G1a1f69evHmWeeCcDjjz/OlClTWLZsGSeffDKbb745H3zwAe+++y5XXXUVI0eOBODTTz9l8uTJPPHEE4wZM4bDDjuMzTffnLPPPps999wTiDqo0aNHAzBu3Di6dOnCzjvvXPB9DN0rr7zC2LFjAbjhhhsYNWpUSWuR7Zvf/GbF7ptItbI0TDAaMGCAZ07mkvKYO3duaoNoJH30eJcqZy2t0Kl+ERGRFFHHLyIikiLq+EVERFJEHb+IiEiKqOMXERFJEXX8IiIiKaKOX0REJEUU4CNlt/eteze5vOJvK5h/93z6/KgPm2zX9jfUNbT/4pMvyrWLIiKpoY5fKqrYTr/Pj/oUfZsffvgh119/Pe+//z6dO3fGzKirq2Pp0qWccsopXHrppUyfPp0f/OAH9OzZk48//piFCxdy8MEHc+6557L++us32d6iRYu47rrrANhkk01Ys2YNn332GStXrmTcuHGsWrWKRx55hFGjRrHpppvyv//7vwwdOpR//OMfHHPMMSxYsIBLLrmE448/nq9+9atF3y8RkWKo45eKaU+nn0/7XN555x32339/rr/+eg4//PDG5QsXLmTfffflsssuY8SIEcyYMYOpU6c2WT948GAefvhhnn322cbvgZ81axZHHnkk999/P7vvvntj+3/9618ccMABfPDBB2yxxRYce+yxjBkzhm233bbxdtdff3022GADZs+erW/nE5HE6D1+qYgkOn2IMvj33nvvJp0+QM+ePRuz+nN993vPnj2ZMmUK8+bN44orrgCi74ofPnw4p512WpNOH6Br167ceeed/Pvf/25cVldXR11dHRC9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",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 坐标轴的刻度设置向内(in)或向外(out)\n",
    "plt.rcParams['xtick.direction'] = 'in'\n",
    "plt.rcParams['ytick.direction'] = 'in'\n",
    "\n",
    "labels=['ASSIST0910', 'ASSIST2017', 'JunYi', 'MathEC']\n",
    "yticklabels=['0.75','0.80','0.85','0.90','0.95']\n",
    "hatch_list=['||','\\\\\\\\','//','--','+']\n",
    "color_list=['#3274a1','#e1812c','#3a923a','#cb3335','#d8b445']\n",
    "legend=['DINA','NCDM','CDGK','ICD-A','ICD+']\n",
    "\n",
    "x=np.arange(len(labels))*2\n",
    "width = 0.3  # the width of the bars\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(8,6))\n",
    "\n",
    "rects1 = ax.bar(x - 2*width, data.loc['DINA',:], 0.9*width, label=legend[0],zorder=2,hatch=hatch_list[0],color=color_list[0])\n",
    "rects2 = ax.bar(x - 1*width, data.loc['NCDM',:], 0.9*width, label=legend[1],zorder=2,hatch=hatch_list[1],color=color_list[1])\n",
    "rects3 = ax.bar(x + 0*width, data.loc['CDGK',:], 0.9*width, label=legend[2],zorder=2,hatch=hatch_list[2],color=color_list[2])\n",
    "rects4 = ax.bar(x + 1*width, data.loc['CICDM-A',:], 0.9*width, label=legend[3],zorder=2,hatch=hatch_list[3],color=color_list[3])\n",
    "rects4 = ax.bar(x + 2*width, data.loc['CICDM+',:], 0.9*width, label=legend[4],zorder=2,hatch=hatch_list[4],color=color_list[4])\n",
    "\n",
    "#去掉边框\n",
    "ax.spines['right'].set_visible(False)\n",
    "ax.spines['top'].set_visible(False)\n",
    "\n",
    "plt.grid(axis='y',linestyle = '-',zorder=0)\n",
    "\n",
    "ax.set_ylim((0.75,0.95))\n",
    "ax.set_yticks([0.75,0.80,0.85,0.90,0.95])\n",
    "ax.set_yticklabels(yticklabels,fontproperties = 'Times New Roman', size = 15)\n",
    "ax.set_ylabel('DOA',fontdict={'family':'Times New Roman', 'size': 18})\n",
    "ax.set_xticks(x)\n",
    "ax.set_xticklabels(labels,fontproperties = 'Times New Roman', size = 16)\n",
    "ax.legend(legend,bbox_to_anchor=(0.64,0.78),\n",
    "          framealpha=0.9,ncol=2,\n",
    "          labelspacing=0.3,handlelength=1.2,fancybox=False,\n",
    "          prop={'family':'Times New Roman', 'size': 15})\n",
    "\n",
    "plt.savefig('output/doa.jpg',dpi=1200,bbox_inches='tight')\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "interpreter": {
   "hash": "527a93331b4b1a8345148922acc34427fb7591433d63b66d32040b6fbbc6d593"
  },
  "kernelspec": {
   "display_name": "Python 3.8.12 ('pytorch')",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.13"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
